﻿using System.Runtime.Serialization;

namespace FuiouMerchantAccess.Models.Request {
    public class MchntAcntUpdRequestInfo : MerchantAccessRequestInfo {
        /// <summary>
        /// 已在富友入网的富友商户代码
        /// </summary>
        [DataMember(Name = "fy_mchnt_cd")]
        public string FyMchntCd { get; set; }

        /// <summary>
        /// 二级代理机构号(若无二级代理或不知此字段意思可直接不传
        /// </summary>
        [DataMember(Name = "sub_ins_cd")]
        public string SubInsCd { get; set; }

        /// <summary>
        /// 必填，入账卡类型：1：对公；2：对私;
        /// 入账卡类型为 1 时，对公户户名需与营业执照名称保持一致（进件若为双账户时，此处必填 2 ，即对私结算）
        /// </summary>
        [DataMember(Name = "acnt_type")]
        public string AcntType { get; set; }

        /// <summary>
        /// 行别,（acnt_type=1 必填）(参考行别对照表)见附件7.行别对照表
        /// </summary>
        [DataMember(Name = "bank_type")]
        public string BankType { get; set; }

        /// <summary>
        /// 必填，入账卡开户行联行号
        /// 对公户和城商行，农商行，农信社必填，否则影响银行卡入账。
        /// 如果联行号在富友给的表格里不存在，可联系运营人员添加
        /// 见附件9.开户行信息列表
        /// </summary>
        [DataMember(Name = "inter_bank_no")]
        public string InterBankNo { get; set; }

        /// <summary>
        /// 必填，入账卡开户行名称
        /// 见附件9.开户行信息列表
        /// </summary>
        [DataMember(Name = "iss_bank_nm")]
        public string IssBankNm { get; set; }

        /// <summary>
        /// 必填，入账卡户名
        /// 1. 如果 license_type = A，acnt_nm=artif_nm 即小微商户身份证入网须入账法人
        /// 2. 如果 acnt_type = 2 且acnt_artif_flag=1，则 acnt_nm = artif_nm 即对私且法人入账，则入账卡户名和法人姓名一致
        /// 3. 如果 acnt_type = 1 且acnt_artif_flag=1，则 acnt_nm = real_name 即对公且法人入账，则入账卡户名和营业执照上商户名一致
        /// </summary>
        [DataMember(Name = "acnt_nm")]
        public string AcntNm { get; set; }

        /// <summary>
        /// 必填，入账卡号（不带长度位）
        /// </summary>
        [DataMember(Name = "acnt_no")]
        public string AcntNo { get; set; }

        /// <summary>
        /// 必填，法人入账标识 0 :非法人入账，1：法人入账
        /// 若license_type=A，这此字段必须填：1：法人入账
        /// </summary>
        [DataMember(Name = "acnt_artif_flag")]
        public string AcntArtifFlag { get; set; }

        /// <summary>
        /// 必填，入账证件类型("0":"身份证"【默认】
        /// 【acnt_artif_flag = 0 时必填】
        /// </summary>
        [DataMember(Name = "acnt_certif_tp")]
        public string AcntCertifTp { get; set; } = "0";

        /// <summary>
        /// 必填，入账证件号
        /// 【acnt_artif_flag = 0时必填】
        /// 1.如果 license_type = A，则acnt_certif_id =license_no 即小微商户身份证入网须入账人身份证号码即法人身份证号码
        /// 2.如果 acnt_type = 2 且acnt_artif_flag=1，则acnt_certif_id =certif_id 即对私且法人入账，则入账卡人身份证号码和法人身份证号码一致
        /// </summary>
        [DataMember(Name = "acnt_certif_id")]
        public string AcntCertifId { get; set; }

        /// <summary>
        /// 必填，入账证件到期日（格式 yyyyMMdd）
        /// license_type=A，这里的值acnt_certif_expire_dt=license_expire_dt
        /// </summary>
        [DataMember(Name = "acnt_certif_expire_dt")]
        public string AcntCertifExpireDt { get; set; }

        /// <summary>
        /// 对私户入账手机号
        /// </summary>
        [DataMember(Name = "acnt_contact_mobile")]
        public string AcntContactMobile { get; set; }
    }
}
